package com.zmn.oms.common.dio.schedule;

import com.zmn.consts.GlobalConsts;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 类描述: 网格组排期校验入参 下单时使用
 *
 * @author: HuangChao
 * @since: 2022/07/04 14:52
 */
@ApiModel(value = "排期校验入参")
@Data
public class GridGroupScheduleCheckDIO implements Serializable {
    private static final long serialVersionUID = -685457843380946368L;

    @ApiModelProperty(value = "日程日期", notes = "日程日期")
    @NotNull(message = "日程日期不能为空")
    private Date scheDate;

    @ApiModelProperty(value = "查询天数", notes = "查询天数")
    @Min(value = 1, message = "查询天数最小为一天")
    private Integer days;

    @ApiModelProperty(value = "下单平台标志", notes = "1.言而有信 2.啄木鸟")
    @NotNull(message = "下单平台标志不能为空")
    private Integer plat;

    @ApiModelProperty(value = "城市Id", notes = "城市Id")
    @NotNull(message = "城市Id不能为空")
    private Integer cityId;

    @ApiModelProperty(value = "订单业务类型", notes = "1保外业务（C），2保内业务（F），3工程业务（B）")
    @NotNull(message = "订单业务类型不能为空")
    private Integer bizType = GlobalConsts.BIZ_TYPE_C;

    @ApiModelProperty(value = "服务分类Id", notes = "服务分类Id")
    @NotNull(message = "服务分类Id不能为空")
    private Integer servCategId;

    @ApiModelProperty(value = "二级服务分类Id", notes = "二级服务分类Id")
    @NotNull(message = "二级服务分类Id不能为空")
    private Integer categId;

    @ApiModelProperty(value = "前台产品Id", notes = "前台产品Id")
    @NotNull(message = "前台产品id不能为空")
    private Integer showProductId;

    @ApiModelProperty(value = "产品组Id", notes = "产品组Id")
    private Integer productGroupId;

    @ApiModelProperty(value = "产品组编码", notes = "产品组编码")
    private Integer productGroupCode;

    @ApiModelProperty(value = "产品数量", notes = "产品数量")
    @Min(value = 1, message = "产品数量最小为一")
    private Integer productNum;

    @ApiModelProperty(value = "订单类型", notes = "1 新单、2 返修单、3 退款单")
    @NotNull(message = "订单类型不能为空")
    private Integer type;

    @ApiModelProperty(value = "纬度", notes = "纬度")
    @NotNull(message = "纬度不能为空")
    private Double latitude;

    @ApiModelProperty(value = "经度", notes = "经度")
    @NotNull(message = "经度不能为空")
    private Double longitude;
}
